package com.huaxin.device.dto.request;

import com.huaxin.hxenum.validation.ValidVentilationType;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class ElectricalRoomCreateReqDTO {

    @Schema(description = "配电房名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "1#楼地下一层配电室")
    @NotBlank(message = "配电房名称不能为空")
    private String roomName;

    @Schema(description = "编号（唯一）", requiredMode = Schema.RequiredMode.REQUIRED, example = "RM-01")
    @NotBlank(message = "编号不能为空")
    private String roomCode;

    @Schema(description = "详细位置", example = "1号楼B1层东侧")
    private String location;

    @Schema(description = "所在楼层", example = "B1")
    private String floor;

    @Schema(description = "面积（㎡）", example = "50.00")
    private BigDecimal area;

    @Schema(description = "建造年份", example = "2018")
    private Integer constructionYear;

    @Schema(description = "防火等级：1/2/3/4", example = "1")
    private Integer fireRating;

    @Schema(description = "通风方式：natural/mechanical/hybrid/air_conditioning", example = "natural")
    @ValidVentilationType
    private String ventilationType;

    @Schema(description = "备注", example = "配备自动灭火系统")
    private String description;

    @Schema(description = "组织ID", example = "org-01")
    private String orgId;

    @Schema(description = "家庭ID", example = "family-01")
    private String familyId;
}